Methods, Systems, and Computer-Readable Media for Assisting in Troubleshooting

ABSTRACT

Methods, systems, and computer-readable media for troubleshooting a problem associated with a communication system are provided. First information regarding the communication system is retrieved, and a determination is made whether the first information indicates a probable cause of the problem associated with the communication system. If the first information does indicate a probable cause of the problem, then a probable solution is provided based on the indicated probable cause. If, on the other hand, the first information does not indicate a probable cause of the problem, then information regarding the problem is retrieved. The retrieved information regarding the problem is used to determine a probable cause of the problem and a probable solution to the problem.

CROSS REFERENCE TO RELATED APPLICATIONS

The present application claims priority under 35 U.S.C. § 119 to co-pending U.S. provisional application No. 60/800,097 entitled “Systems, Methods, and Computer-Readable Media for Analyzing Communication Problems” filed on May 12, 2006, and which is expressly incorporated in its entirety herein by reference.

TECHNICAL FIELD

The present invention is related to troubleshooting problems. More particular, the present invention relates to determining a problem associated with a communication system and a solution to the problem using a computer-implemented troubleshooting methodology.

BACKGROUND

Users of technical devices, such as computers and computer-related systems, often experience technical or operating issues related to those systems which require assistance in identifying the issues as well as a solution to the issues. Often, computers and computer-related systems are supported by people having technical knowledge and training in assisting customers with issues most likely to occur with the systems or related applications. In such situations, the customer of the problematic system may contact such a technical-support person who, with input from the customer, may recognize and help solve the system problems.

Typically, technical-support persons contacted to assist with system problems are located remotely from the site of the system and must, therefore, talk with a customer of the system by telephone to understand and resolve a problem occurring with the customer's system. Troubleshooting a technical or operating issue with a computer or computer-related system can be a difficult task for a technical-support person for a number of reasons. In particular, since a technical-support person typically cannot be physically present at the site of the problematic system to directly observe the problems occurring with the system, the technician must rely on information about the problem from the customer of the system to make a decision about the cause of and solution to the problem. Often, the customer of the system is not technically knowledgeable and thus may not understand or be able to convey the issues occurring with the system in a manner meaningful to the technical-support person, leading the technical-support person to misdiagnose the system problem. Moreover, technical-support persons may not follow a uniform procedure for gathering information from a customer and thus ask questions that are not understandable to the customer or forget to ask particular questions which would provide the technician with a clearer view of the problem and solution. If the technician can more efficiently troubleshoot system issues experienced by customers, both the technician and the customers may avoid wasteful and time-consuming efforts in solving the problem.

SUMMARY OF THE INVENTION

In accordance with embodiments of the present invention, the above and other problems are addressed by providing methods, systems, and computer-readable media for troubleshooting a problem associated with a communication system. According to one aspect of the present invention, a method is provided for assisting in troubleshooting a problem associated with a communication system. The method involves retrieving first information regarding the communication system and determining whether the first information indicates a probable cause of the problem associated with the communication system. If the first information does indicate a probable cause of the problem, then a probable solution is provided based on the indicated probable cause. If, on the other hand, the first information does not indicate a probable cause of the problem, then information regarding the problem is retrieved. The retrieved information regarding the problem is used to determine a probable cause of the problem and a probable solution to the problem.

According to another aspect of the present invention, a computer-readable medium is provided having instructions stored thereon which, when executed by a computer, causes the computer to receive a request to troubleshoot a problem associated with a communication system. In response to the request, a first inquiry about the problem is provided and a response to the first inquiry is received. Based on the response to the first inquiry, a second inquiry about the problem is provided and a response to the second inquiry is received. Based on the response to the second inquiry, a probable cause of the problem and a probable solution to the problem are determined. The probable solution is then implemented to solve the problem associated with the communication system.

According to yet another aspect of the present invention, a system for assisting in troubleshooting a problem associated with a communication system is provided. The system includes a memory device for storing a program for assisting in troubleshooting a problem associated with a communication system, and a processor functionally coupled to the memory device and responsive to instructions contained in the program. The program is operative to retrieve first information regarding the communication system from a first database and determine whether the first information indicates a probable cause of the problem associated with the communication system. If the first information indicates a probable cause of the problem, then a probable solution to the problem based on the probable cause is provided. If, on the other hand, the first information does not indicate a probable cause of the problem, then information regarding the problem is received, and based on the received information regarding the problem, a probable cause of the problem and a probable solution to the problem are identified.

The above-described aspects of the invention may also be implemented as a computer-controlled apparatus, a computer process, a computing system, or as an article of manufacture such as a computer program product or computer-readable medium. The computer program product may be a computer storage media readable by a computer system and encoding a computer program of instructions for executing a computer process. The computer program product may also be a propagated signal on a carrier readable by a computing system and encoding a computer program of instructions for executing a computer process.

These and various other features as well as advantages, which characterize the present invention, will be apparent from a reading of the following detailed description and a review of the associated drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a network operating environment utilized in various embodiments of the present invention;

FIGS. 2-5 illustrate graphical user interfaces provided by various embodiments of the present invention;

FIG. 6 is a flow diagram illustrating aspects of a process for troubleshooting a problem associated with a communication system based on various embodiments of the present invention; and

FIGS. 7A-7C are flow diagrams illustrating a troubleshooting methodology utilized for troubleshooting a problem associated with a communication system based on various embodiments of the present invention.

DETAILED DESCRIPTION OF THE INVENTION

Embodiments of the present invention provide methods, systems, apparatus, and computer-readable media for troubleshooting a problem associated with a communication system. In the following detailed description, references are made to the accompanying drawings that form a part hereof, and in which are shown by way of illustration specific embodiments or examples. Referring now to the drawings, in which like numerals represent like elements through the several figures, aspects of the present invention and the exemplary operating environment will be described.

FIG. 1 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which the invention may be implemented. While the invention will be described in the general context of program modules that execute in conjunction with an application program that runs on an operating system on a computer system, those skilled in the art will recognize that the invention may also be implemented in combination with other program modules.

Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. The invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

Turning now to FIG. 1, an illustrative operating environment 100 for practicing the various embodiments of the present invention will now be described. In particular, a customer may use a communication device 102 to contact and communicate with a customer support technician at a workstation 106 to assist in identifying and solving one or more problems the customer is experiencing with a communication system 146. According to embodiments of the present invention, the communication system 146 may include a communication device such as, but not limited to, a cellular telephone, a wireline telephone, a Voice over Internet Protocol (“VoIP”) telephone, a WI-FI telephone, a WiMAX telephone, or a personal data assistant (“PDA”); a computing device such as, but not limited to, a general purpose desktop computer, a laptop computer, a hand-held computer, or any other device capable of executing one or more application programs; or an entertainment device such as, but not limited to a television or a digital video recorder (“DVR”). The communication system 146 may also include one or more networks providing services to the communication, computing, and/or entertainment device including, but not limited to, a cellular network, a public switched telephone network (“PSTN”), an integrated services digital network (“ISDN”), a Wireless Local Area Network (“WLAN”) such as a WI-FI network, a Wireless Wide Area Network (“WWAN”), a Wireless Personal Area Network (“WPAN”) such as BLUETOOTH, a Wireless Metropolitan Area Network (“WMAN”) such a WiMAX network, a wired Wide Area Network (“WAN”) such as the Internet, a wired (“Local Area Network”) LAN such as the Ethernet, a wired Personal Area Network (“PAN”), a wired Metropolitan Area Network (“MAN”), satellite network, a cable network, or any combination thereof. For example, a customer may contact a customer support technician to report that the customer is not able to access the Internet using her desktop computer.

The communication device 102 used to communicate with a customer support technician may include any device capable of sending and receiving communications including, but not limited to, a cellular telephone, a Plain Old Telephone Service (“POTS”) telephone, a VoIP telephone, a WI-FI telephone, a WiMAX telephone, a computer, or a PDA. The technician may receive a communication from the customer using a device similar to the communication device 102. The communication between the customer and the customer support technician may occur through a telephone call, email correspondence, text messages, or instant messages.

According to an embodiment of the present invention, the communication device 102 and the device used by the customer support technician to communicate with the customer may be associated with a network 104 such that communications provided by the communication device of the customer is sent via the network to the communication device used by the technician, and vice versa. The network 104 may include a wireless network such as, but not limited to, a WLAN such as a WI-FI network, a WWAN, a WPAN such as BLUETOOTH, a WMAN such a WiMAX network, or a cellular network. Alternatively, the network 104 may be a wired network such as, but not limited to, a WAN such as the Internet, a LAN such as the Ethernet, a PAN, or a MAN.

Once a customer support technician is contacted by a customer reporting a problem with a communication system, such as the communication system 146, the technician may utilize the workstation 106 to access and use a troubleshooting tool and an associated troubleshooting methodology of the present invention to assist the technician in identifying and curing the problem affecting the communication system 146 of the customer. Although the description provided herein refers to troubleshooting problems associated with a computing device receiving broadband Internet service such as Digital Subscriber Line (“DSL”) service or cable modem service, it should be appreciated that various embodiments of the present invention may be used to troubleshoot problems encountered by customers using any communication, computing, or entertainment device receiving service provided by one or more networks as described above.

As shown in FIG. 1, a network 108 interconnects the workstation 106 and one or more server computers 110. It should be appreciated that the network 108 may comprise any type of wireless computing network including, but not limited to, a WLAN such as a WI-FI network; a WWAN; a WPAN such as BLUETOOTH; a WMAN such a WiMAX network, or any type of wired computing network including, but not limited to, a WAN such as the Internet; a LAN such as the Ethernet; a PAN; or a MAN. The network 108 provides a medium for enabling communication between the workstation 106, the server computer 110, and other computer systems connected to or accessible through the network 108. In an embodiment of the present invention, the workstation 106 may communicate with the server computer 110 through the network 108 to access and utilize a troubleshooting methodology 128 provided by a troubleshooting tool (“TT”) program 126 stored on the server computer 110, as will be discussed in greater detail below.

In an embodiment of the present invention, the workstation 106 may include a general purpose desktop, laptop, or hand-held computer capable of executing one or more application programs. In particular, according to the various embodiments of the present invention, the workstation 106 is operative to execute a web browser application, such as the INTERNET EXPLORER browser from MICROSOFT CORPORATION of Redmond, Wash., from a mass storage device for retrieving, viewing, and interacting with content provided by the server computer 110. In particular, the web browser application of the workstation 106 may be operative to retrieve and view content provided by the TT program 126 during troubleshooting of a problem, as discussed in greater detail below.

The workstation 106 may also include a central processing unit (“CPU”), a system memory, including a random access memory (“RAM”) and a read-only memory (“ROM”), and a system bus that couples the system memory to the CPU. The workstation 106 may connect to the network 108 through a network interface unit connected to the bus of the workstation. It should be appreciated that the network interface unit may also be utilized to connect to other types of networks and remote computer systems. The workstation 106 may also include an input/output controller for receiving and processing input from a number of other devices, including a keyboard, mouse, scanner, digital computer, or electronic stylus. Similarly, the input/output controller of the workstation 106 may provide output to a display screen, a printer, or other type of output device. It should be understood by those skilled in the art that the TT program 126 may be stored on and executed from the workstation 106 to assist a technician in troubleshooting issues affecting a communication system 146 of a customer.

The server computer 110 may include a standard server computer capable of providing services to other computing systems, such as the workstation 106, over the network 108. The server computer 110 is operative to store and execute a web server application 124, such as the INTERNET INFORMATION SERVER from MICROSOFT CORPORATION. It should be appreciated by those skilled in the art that other web server applications may also be utilized. In an embodiment of the present invention, the web server application 124 may be stored in a mass storage device 122 of the server computer 110. The web server application 124 is operative to execute the TT program 126, which may also be stored in the mass storage device 122, and receive and respond to requests from computer systems connected to the network 108 for information and services provided by the TT program 126 described herein. As illustrated in FIG. 1 and discussed further below, the mass storage device 122 of the server computer 110 may also include business rules 130 used by the TT program 126 when troubleshooting a problem associated with the communication system 146. It should be appreciated that the business rules 130 may be stored in a database (not shown) located external to the server computer 110. In an embodiment of the present invention, a database storing the business rules 130 may be connected to the server computer 110 by a computing network, such as the network 108, such that the TT program 126 of the server computer 110 can access the business rules 130.

The server computer 110 my also include a CPU 114, a system memory 116, including a RAM 118 and a ROM 120, and a system bus 132 that couples the system memory and the mass storage device 122 to the CPU 114. The CPU 114 of the server computer 110 may be a standard central processor that performs arithmetic and logical operations, a more specific purpose programmable logic controller (“PLC”), a programmable gate array, or other type of processor known to those skilled in the art and suitable for controlling the operation of the server computer. CPUs are well-known in the art, and therefore not described in further detail herein. The mass storage device 122 is connected to the CPU 114 through a mass storage controller (not shown) connected to the bus 132. The mass storage device 122 and its associated computer-readable media provide non-volatile storage for the sever computer 110. Although the description of computer-readable media contained herein refers to a mass storage device, such as a hard disk or CD-ROM drive, it should be appreciated by those skilled in the art that computer-readable media can be any available media that can be accessed by the server computer 110.

By way of example, and not limitation, computer-readable media may comprise computer storage media and communication media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules, or other data. Computer storage media includes, but is not limited to, RAM, ROM, Erasable Programmable ROM (“EPROM”), Electrically Erasable Programmable ROM (“EEPROM”), flash memory or other solid state memory technology, CD-ROM, digital versatile disks (“DVD”), or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the server computer 110.

As discussed above and according to various embodiments of the invention, the server computer 110 operates in a networked environment using logical connections to remote computers through the network 108, such as the Internet. The server computer 110 may connect to the network 108 through a network interface unit 112 connected to the bus 132. It should be appreciated that the network interface unit 112 may also be utilized to connect to other types of networks and remote computer systems, as discussed in further detail below.

In an embodiment of the present invention, the TT program 126 communicates with systems and databases located external to the server computer 110 to assist in diagnosing and solving customer communication system 146 problems. In particular, when a customer contacts a customer support technician at the workstation 106 regarding a communication system 146 problem, the technician may use the workstation to access the TT program 126 provided by the server computer 110 to troubleshoot the problem. Based on information about the problem provided to the TT program 126, the program may send requests to and retrieve information relevant to the communication system 146 and the problem affecting the communication system 146 from one or more systems 134, 136, 138, 140, and 142 and one or more databases 132, 144 through the network 108. It should be appreciated that the systems and databases utilized by the TT program 126 may be stored on computing systems similar to the server computer 110. In an embodiment of the present invention, the server computer 110 may communicate with the systems 134, 136, 138, 140, and 142 and the databases 132, 144 over the network 108 through the network interface unit 112 as well as through servlets associated with the systems and databases.

As illustrated in FIG. 1, the systems 134, 136, 138, 140, and 142 and databases 132, 144 accessed by the TT program 126 may include, but are not limited to, a Master Customer Database (“MCDB”) 132, a Services Outage Notification System (“SONS”) 134, a Service Order Entry Gateway (“SOEG”) 136, a System Operation Technical Assistance Center (“STAC”) 138, a repair system 140 such as the EREPAIR SYSTEM from BELLSOUTH CORPORATION of Atlanta, Ga., a Service Test Management (“STM”) system 142, and an Online Solution Systems (“OSS”) articles database 144.

According to embodiments of the present invention, the MCDB 132 provides a variety of information about a particular customer and the services and communication systems, such as the communication system 146, used by the particular customer. The MCDB 132 may provide billing information associated with customers for a number of applications, including the TT program 126, and downstream systems and may be the core component on which critical applications, such as billing and registration, act.

According to embodiments of the present invention, the SONS 134 provides information regarding outage information, if any, associated with a particular communication system 146. In particular, the SONS 134 may provide a consolidated view of outage time, date, duration, and estimated time to repair. The SONS 134 may be used to determine information regarding dial, email, and DSL non-Broadband gateway outages.

The SOEG 136 provides information regarding service requests associated with a particular customer or communication system 146 including, but not limited to, the type of service request associated with the system and the status of the service request as well as identification information regarding paths over which data is transported through the communication system 146. Service requests may be automatically provisioned for service using the SOEG 136. To receive information regarding a service request, the SOEG 136 may provide a service request form to be completed by a customer with information regarding a particular request and then submitted to a service group based on the completed information.

The STAC 138 provides further information regarding a particular customer and the customer's communication systems, such as the communication system 146, including, but not limited to, username and password information, IP address information, email mailbox information, and speed test and ping test results.

The repair system 140 provides information about service order tickets and technician dispatches associated with a particular communication system 146 and provides troubleshooting testing of communication systems to determine issues with the systems. A service order ticket including information about a customer's service issue may be electronically entered through the repair system 140. The repair system 140 may also provide repairs for issues associated with communication systems and provide real-time status information regarding all service order tickets.

The STM system 142 may receive and store information from the TT program 126 regarding results of tests performed on communication systems during troubleshooting, and the OSS articles database 144 may provide detailed information to a technician using the TT program 126 about the troubleshooting methodology provided by the TT program 126. It should be understood by those skilled in the art that the systems and databases accessed by the TT program 126 of the present invention are provided by way of illustration only and that any systems and databases capable of providing information and conducting tests and repairs helpful to troubleshooting problems associated with a communication system 146 may be used.

According to embodiments of the present invention, the TT program 126 may be integrated with collaboration software such as GROOVE VIRTUAL OFFICE program. By using the TT program 126 in combination with collaboration software, entities located remotely from a technician using a workstation to access the TT program 126 such as, but not limited to, other technicians, customers, call centers, outside experts, and vendors, may be able to view graphical user interfaces provided by the TT program 126 via workstations associated with each of the entities. The remotely located entities may be able to discuss and debate troubleshooting issues with the technician accessing the TT program 126 to assist in troubleshooting a customer's communication system 146 problem.

Turning now to FIGS. 2-5, graphical user interfaces (“GUIs”) 200, 300, 400, and 500 provided by the TT program 126 during troubleshooting of a problem associated with a communication system 146 will be described. It should be appreciated by those skilled in the art that the layout and design of the interfaces provided by the TT program 126 and described herein are provided by way of illustration only and should not be construed to limit the present invention. When a technician at the workstation 106 receives a call from a customer experiencing a problem with a communication system 146 supported by the technician, the technician may access the TT program 126 by providing a universal resource locator (“URL”) address associated with the TT program at the workstation. In response, the server computer 110 may execute the TT program 126 which may provide a TT home GUI 200, as illustrated in FIG. 2, to the workstation 106 through the network 108.

In an embodiment of the present invention, the TT home GUI 200 provides an identification field 202 for receiving information identifying the customer reporting the problem and/or information identifying the communication system 146 associated with the customer experiencing the problem. The identification information may include a telephone number associated with the customer, an email address, a physical address, or any other information that uniquely identifies a customer and/or the communication system 146 associated with the customer. The TT home GUI 200 may also provide a troubleshoot issue button 204 which, when selected, initiates a request to begin a troubleshoot session to identify and resolve a problem affecting the communication system 146 associated with the information received at the identification field 202. In an embodiment of the present invention, the TT home GUI 200 may further include a notes portion 206 for displaying information gathered and notes taken during previous troubleshooting sessions regarding the communication system 146 associated with the information received at the identification field 202.

When the troubleshooting issue button 204 is selected, the TT program 126 may provide an information GUI 300, as illustrated in FIG. 3. According to embodiments of the present invention, the information GUI 300 may include a service order portion 302 for receiving and displaying information regarding service requests associated with the communication system 146 at issue from the SOEG 136, an outage portion 304 for receiving and displaying outage information regarding the communication system 146 from the SONS 134, and a customer information portion 306 for receiving and displaying account information corresponding to the customer of the communication system 146 from the MCDB 132. The information displayed in the portions 302-306 of the information GUI 300 may be associated with indications 308 a-308 f which represents whether, based on the business rules 130, the information passed, failed, or received a warning, as will be discussed in greater detail below. In an embodiment of the present invention, a passing indication may be a green flag, a failing indication may be a red “x”, and a warning indication may be an orange flag.

The information GUI 300 may also include a troubleshooting questions portion 310 which displays questions and instructions provided by the troubleshooting methodology 128 of the TT program 126 to be asked by the technician to the customer for assisting in diagnosing and resolving the communication system 146 problem. The troubleshooting questions portion 310 may include response buttons 312, 314 which may be selected to respond to the displayed questions. As will be discussed in further detail below, the questions displayed in the troubleshooting questions portion 310 may be provided in a sequence determined by the troubleshooting methodology 128 of the TT program 126. The information GUI 300 may further include a close button 316 for closing the information GUI 300 and a finish button 318 for ending the troubleshooting session with the TT program 126.

In response to the answer selected to the troubleshooting questions displayed in the troubleshooting questions portion 310, the TT program 126 may provide an information and testing GUI 400 for displaying further information about the communication system 146 at issue as well as results from tests performed on the communication system 146, as illustrated in FIGS. 4A-4B. In particular, the information and testing GUI 400 may include an information portion 402 for displaying information from the STAC 138 regarding the customer and the communication system 146 including, but not limited to, username and password information, IP address information, email mailbox information, and results of speed and ping tests performed on the communication system 146, as shown in FIG. 4A.

A testing portion 412 may also be provided by the information and testing GUI 400 for displaying a selected process flow provided by the repair system 140 and results of tests performed by the repair system on the communication system 146 at issue based on the selected process flow, as illustrated in FIG. 4B. As shown in FIG. 4A, prior to receiving information in the testing portion 412, the information and testing GUI 400 may also include a close button 420 for closing the GUI and a finish button 422 for ending the troubleshooting session. According to various embodiments of the present invention, whether information is provided by the STAC 138 and displayed in the information portion 402 of the information and testing GUI 400 or provided by the repair system 140 and displayed in the testing portion 412 may depend on responses to the troubleshooting questions and the troubleshooting methodology 128 of the TT program 126, as discussed in greater detail below.

In an embodiment of the present invention, the information portion 402 may be associated with an Activate button 404, a Ping button 406, a Ping 1.2 button 408, and a Match Password button 410. When selected, the Activate button 404 may cause a request to retrieve data from the STAC 138 to be sent to the STAC followed by a request to perform a ping test on the communication system 146. The ping test may be performed by the TT program 126, another application associated with the server computer 110, or the systems 134-142 accessed by the TT program. The retrieved data and test results may be displayed in the information portion 402. Selection of the Ping button 406 and the Ping 1.2 button 408 may send a request to perform a regular ping test and a heavy ping test, respectively, on the communication system 146. When received, the results of the tests may be displayed in the information portion 402. The Match Password button 410, when selected, may issue a request to the STAC 138 to correct customer information provided by the STAC when the customer information indicates that an email password and a point to point password associated with the customer do not match. In an embodiment of the present invention, enablement of the Match Password button 410 for selection may depend on whether information received from the STAC 138 indicates mismatched customer passwords.

According to various embodiments of the present invention, the testing portion 412 of the information and testing GUI 400 may be associated with a Sync No Surf button 414, a Port Reset button 416, and a No Sync button 418. When selected, the port reset button 416 may cause a request to be sent to the repair system 140 to reset one or more ports associated with the communication system 146 at issue to try and cure the communication system 146 problem. Results of the port reset may be displayed in the testing portion 412. The Sync No Surf button 414, when selected, may cause a request to be sent to the repair system 140 to provide a process flow associated with a Sync No Surf problem. The Sync No Surf flow may be displayed in the testing portion 412 and executed by the technician to initiate tests associated with a Sync No Surf problem to be performed on the communication system 146 by the repair system 140. Once completed, the results of the tests performed by the repair system 140 may also be displayed in the testing portion 412. In an embodiment of the present invention, results of the tests associated with the Sync No Surf flow may also be transmitted by the server computer 110 executing the TT program 126 to the STM system 142 which stores information regarding all tests performed on a communication system 146 for future referral.

Similarly, the No Sync button 418, when selected, may cause a request to be sent to the repair system 140 to provide a process flow associated with a No Sync problem. The No Sync flow may be displayed in the testing portion 412 and executed by the technician to initiate tests associated with a No Sync problem to be performed on the communication system 146 by the repair system 140. The results of the tests may be displayed in the testing portion 412. In an embodiment of the present invention, results of the tests associated with the No Sync flow may also be transmitted by the server computer 110 executing the TT program 126 to the STM system 142 which stores information regarding all tests performed on a communication system 146 for future referral. Tests associated with the Sync No Surf flow and the No Sync flow may include, but are not limited to, a ports status test which takes a snapshot of the communication system 146 at issue to analyze the health of the lines of the system; a provisioning check audit which checks whether provisioning of all lines associated with the communication system 146 is complete, and a sync test which drops the sync rate of lines associated with the communication system 146 to a lowest sync rate to try and gain sync.

The results from the tests performed based on both the Sync No Surf flow and the No Sync flow are used by the technician to further determine a possible cause for the communication system 146 problem. Moreover, once the results are displayed in the testing portion 412, a Do Not Call Digital Services Group (“DSG”) button 422 and a Contact DSG Button 424 may be provided by the information and testing GUI 400, as illustrated by FIG. 4B. Depending on the results of the tests, the technician may select the Do Not Call DSG button 422 to request a dispatch of a technician to assist in solving the communication system 146 problem or the Call DSG button 424 to contact a DSG to assist in solving the problem. Once either of these buttons 422, 424 is selected, the troubleshooting session may be closed.

When a possible solution to the communication system 146 problem has been determined, the TT program 126 may provide a solutions GUI 500 including a solutions portion 502 for displaying the solution to the problem and a summary portion 504 providing a synopsis of the tests performed and corresponding results found as well as any notes provided by the technician during the troubleshooting session with the TT program, as illustrated in FIG. 5. All or a portion of the synopsis from the summary portion 504 of the solutions GUI 500 may be provided to the TT home GUI 200 for display in the notes portion 206, illustrated in FIG. 2. The solutions GUI 500 may also include a feedback hyperlink 510 which, when selected, allows a technician to provide feedback information regarding pros and cons of the TT program 126. Moreover, the solutions GUI 500 may include a close button 506 for closing the GUI and a finish button 508 for ending the troubleshooting session.

Referring now to FIG. 6, further details regarding the operation of the TT program 126 will be described. In particular, FIG. 6 illustrates a routine 600 for troubleshooting, using the TT program 126, an issue experienced by a customer of the communication system 146. The routine 600 begins at operation 602, where the TT program 126 receives a request to troubleshoot a problem with a communication system 146. As discussed above, when information is provided in the identification field 202 of the TT home GUI 200 displayed at the workstation 106 and the troubleshoot issue button 204 is selected, a request is received by the TT program 126 through the network 108 to troubleshoot a problem with the communication system 146 associated with the information provided at the identification field. The routine 600 then proceeds to operation 604, where the TT program 126, in response to receiving the troubleshoot request, may retrieve first information regarding the communication system 146 associated with the information provided at the identification field 202 and the customer of the system. In an embodiment of the present invention, the TT program 126 may retrieve the first information from one or more external systems and databases through the network 108 or from the mass storage device 122 of the server computer 110. In an embodiment of the present invention, the first information may include customer account information associated with the communication system 146 from the MCDB 132; outage information associated with the communication system 146 from the SONS 134; and service request information associated with the communication system 146 from the SOEG 136 including, but not limited to, status information concerning the service request, the type of service request associated with the system, and identification information regarding a path over which data is transported through the communication system 146. It should be understood that the first information may include any data about the communication system 146, the problem associated with the communication system 146, the customer of the communication system 146, or any combination thereof.

From operation 604, the routine 600 proceeds to operation 606, where the TT program 126 accesses the business rules 130 and analyzes the first information retrieved regarding the communication system 146 against the business rules to determine whether to associate the first information with a passing, failing, or warning indication. In an embodiment of the present invention, the business rules 130 dictate which values of the first information pass, fail, or require a warning. For example, if the outage information retrieved from the SONS 134 indicates that no known outage affecting the communication system 146 at issue is scheduled or that an outage affecting the communication system 146 has already been closed, then the business rules 130 may provide that the outage information be associated with a pass indication. If, on the other hand, the retrieved outage information indicates that an outage affecting the communication is open or occurring, then the business rules 130 may provide that the outage information be associated with a fail indication. Moreover, if the outage information received from the SONS 134 is blank or empty, then the business rules 130 may provide that the outage information be associated with a warning indication.

The business rules 130 may also determine whether troubleshooting of the problem should continue or be discontinued based on the indications associated with the retrieved first information. According to various embodiments of the present invention, a passing or warning indication may suggest that a probable cause of the problem has not or has likely not been determined based on the retrieved first information, and thus, troubleshooting of the problem should continue. A failing indication may suggest that a probable cause of the problem has been determined based on the retrieved first information, and thus, troubleshooting of the problem should discontinue and a probable solution to the problem be provided. Moreover, the business rules 130 may provide an exception to information associated with a failing indication such that even if certain portions of the retrieved first information are associated with a failing indication, troubleshooting of the communication system 146 problem should continue. For example, if a failing indication is associated with outage information from the SONS 134 regarding an email system or associated with account information from the MCDB 132, the business rules 130 may instruct the TT program 126 to continue the problem troubleshooting even though the information is associated with a failing indication. It should be appreciated that the business rules 130 described herein are provided by way of illustration only and should not be construed to limit the present invention.

From operation 606, the routine 600 proceeds to operation 608, where the TT program 126 determines whether any of the retrieved first information is associated with a failing indication. If so, then the routine 600 proceeds from operation 608 to operation 610, where a probable cause and solution to the problem affecting the communication system 146 are provided in the solution portion 502 of the solutions GUI 500. The routine 600 then proceeds to operation 612, where the troubleshooting session is terminated, and the routine 600 ends. If, back at operation 608, a determination is made that all of the retrieved first information is associated with a passing and/or warning indication, then the routine 600 proceeds to operation 614.

At operation 614, the TT program 126 may access the troubleshooting methodology 128 to determine what actions to take to assist in troubleshooting the communication system 146 problem. According to exemplary embodiments, the troubleshooting methodology 128 is a process flow schema which provides a systematic approach for identifying probable causes of problems affecting a communication system, such as the communication system 146, and probable solutions to the problems. In an embodiment of the present invention, the troubleshooting methodology 128 may provide a flow of actions to be taken by the TT program 126 to identify and resolve a communication system 146 problem. In particular, the troubleshooting methodology 128 may provide questions to be answered by the customer and the technician about the communication system 146 and the problem affecting the communication system 146, instructions regarding types of information to be retrieved about the communication system 146, and instructions regarding tests to be performed on the system to determine and solve the system problem as well as the order in which the questions should be asked, the information should be retrieved, and the tests should be performed. The actions and sequence associated with performing the actions provided by the troubleshooting methodology 128 may depend on the type of communication system 146 associated with the problem. Moreover, the sequence of questions and actions provided by the troubleshooting methodology 128 may also be dictated by answers provided to each of the questions. The troubleshooting methodology 128 used by the TT program 126 may be updated and revised to provide a more efficient approach to determining a probable cause of a problem and a probable solution. Further functions capable of being provided by the troubleshooting methodology 128 are described in U.S. Ser. No. 11/239,524, entitled “Processes for Assisting in Troubleshooting” filed on Sep. 29, 2005, and which is expressly incorporated herein by reference in its entirety.

From operation 614, the routine 600 proceeds to operation 616 where a probable cause of the problem and a probable solution to the problem are determined based on the information about the problem received through the troubleshooting actions provided by the troubleshooting methodology 128 and performed by the TT program 126. In an embodiment of the present invention, the probable cause and/or probable solution may be associated with a hyperlink which, when selected, may provide further information about the cause and solution from the OSS articles database 144 The routine 600 then proceeds to operation 618, where a determination is made whether the solution can be implemented by the TT program 126. For example, if the probable solution to the problem includes resetting one or more ports associated with the communication system 146 at issue, the TT program may contact the repair system 140 with a request to reset the one or more ports of the system. If a determination is made that the probable solution cannot be implemented by the TT program 126, such as where the solution includes dispatch of a technician, then the routine 600 proceeds from operation 618 to operation 612, where the troubleshooting session is terminated and the routine 600 ends.

If, back at operation 618, a determination is made that the solution can be implemented by the TT program 126, then the routine 600 proceeds to operation 620, where the TT program 126 may send a request to the repair system 140 to implement the determined solution. The routine 600 then proceeds to operation 622, where a determination is made whether the implemented solution solved the problem affecting the communication system 146. If a determination is made that the implemented solution did not solve the problem, then the routine 600 proceeds back to operation 614, where the TT program 126 receives further information about the problem through inquiries, tests, and retrieved information based on the troubleshooting methodology 128.

If a determination is made that the implemented solution did solve the problem, then the routine 600 proceeds from operation 622 to operation 624, where a determination is made whether the customer is having any further problems with the communication system 146. If the customer is having further problems, then the routine 600 proceeds back to operation 614, where the TT program 126 receives information about the problem through inquiries, tests, and retrieved information based on the troubleshooting methodology 128. If the customer is not having any further problems, then the routine 600 proceeds to operation 612, where the troubleshooting session is terminated, and the routine 600 ends.

Turning now to FIGS. 7A-7C, an illustrative troubleshooting methodology 128 according to embodiments of the present invention will be described. In particular, FIGS. 7A-7C illustrates a routine 700 provided by the troubleshooting methodology 128 to be used by the TT program 126 when troubleshooting a communication system 146 problem. It should be understood that the troubleshooting methodology 128 utilized by the TT program 126 and described herein is provided by way of illustration only and should not be construed to limit the present invention.

As discussed above, once the TT program 126 determines that retrieved first information regarding a communication system 146 associated with a reported problem and a customer of the system indicates that troubleshooting of the problem may continue, the TT program may access the troubleshooting methodology 128 to determine what actions to take to identify and solve the problem. In an embodiment of the present invention, actions taken to retrieve and analyze the first information may also be provided by the troubleshooting methodology 128.

The routine 700 begins at operation 702, where the troubleshooting methodology 128 instructs the TT program 126 to display a troubleshooting question “Can customer connect to the internet with other applications?”. Once an answer to the question is received, the TT program 126 accesses the troubleshooting methodology 128 to determine how to proceed. From operation 702, the routine 700 proceeds to operation 704, where a determination is made whether the received answer to the question is yes. If the received answer is yes, then the routine 700 proceeds to operation 706, where the troubleshooting methodology 128 instructs the TT program 126 to display the question “Is this an email issue?”.

When an answer to the question is received, the TT program accesses the troubleshooting methodology 128 to determine how to proceed. From operation 706, the routine 700 proceeds to operation 708, where a determination is made whether the received answer to the question is yes. If the received answer is yes, then the routine 700 proceeds to operation 710, where the troubleshooting methodology 128 instructs the TT program 126 to provide a solution to the problem and contact the STAC 138. From operation 710, the routine 700 proceeds to operation 712, where the troubleshooting methodology 128 further instructs the TT program 126 to send notes summarizing the troubleshooting session to the solutions GUI 500 and to close the session.

If, back at operation 708, the received answer to the question “Is this an email issue” is no, then the routine 700 proceeds to operation 714, where the troubleshooting methodology 128 instructs the TT program 126 to display the troubleshooting question “Is this a browser issue?”. When an answer to the question is received, the TT program accesses the troubleshooting methodology 128 to determine how to proceed. From operation 714, the routine 700 proceeds to operation 716, where a determination is made whether the received answer to the question is yes. If the received answer is yes, then the routine 700 proceeds to operation 718, where the troubleshooting methodology 128 instructs the TT program 126 to provide a solution to the problem. The routine 700 then proceeds to operation 712, where the troubleshooting methodology 128 further instructs the TT program 126 to send notes summarizing the troubleshooting session to the solutions GI 500 and to close the session.

If, back at operation 716, the received answer to the question “Is this a browser issue?” is no, then the routine 700 proceeds to operation 720, where the troubleshooting methodology 128 instructs the TT program 126 to display the troubleshooting question “Is this an intermittent surf issue?”. When an answer to the question is received, the TT program 126 accesses the troubleshooting methodology 128 to determine how to proceed. From operation 720, the routine 700 proceeds to operation 722, where a determination is made whether the received answer to the question is yes. If the received answer is yes, then the routine 700 proceeds to operation 724, where the troubleshooting methodology 128 instructs the TT program 126 to send a request to the repair system 140 to perform an eRepair intermittent surf trouble flow on the communication system 146 at issue to further identify and resolve the problem associated with the system. From operation 724, the routine 700 proceeds to operation 712, where the troubleshooting methodology 128 further instructs the TT program 126 to send notes summarizing the troubleshooting session to the solutions GUI 500 and to close the session.

If, back at operation 722, the received answer to the question “Is this an intermittent surf issue?” is no, then the routine 700 proceeds to operation 726, where the troubleshooting methodology 128 instructs the TT program 126 to send a request to the repair system 140 to perform an intermittent sync trouble flow on the communication system 146 at issue to further identify and resolve the problem associated with the system. From operation 726, the routine 700 proceeds to operation 712, where the troubleshooting methodology 128 further instructs the TT program 126 to send notes summarizing the troubleshooting session to the solutions GUI 500 and to close the session.

If, back at operation 704, a determination is made that the answer to the question “Can customer connect to the internet with other applications?” is no, then the routine 700 proceeds to operation 728, where the troubleshooting methodology 128 instructs the TT program 126 to select a modem of the communication system 146. Once the modem is selected, the TT program 126 accesses the troubleshooting methodology 128 which, at operation 730, further instructs the TT program to display the troubleshooting question “Is modem in sync?”.

When an answer to the question is received, the TT program 126 accesses the troubleshooting methodology 128 to determine how to proceed. From operation 730, the routine 700 proceeds to operation 732, where a determination is made whether the received answer to the question is yes. If the received answer is yes, then the routine 700 proceeds to operation 736, where the troubleshooting methodology 128 instructs the TT program 126 to display the question “Does customer have a valid IP address?”. When an answer to the question is received, the TT program 126 accesses the troubleshooting methodology 128 to determine how to proceed. From operation 736, the routine 700 proceeds to operation 738, where a determination is made whether the received answer to the question is yes. If the received answer is no, then the routine 700 proceeds to operation 740, where the troubleshooting methodology 128 instructs the TT program 126 to provide a solution to the problem. The routine 700 then proceeds to operation 742, where the troubleshooting methodology 128 further instructs the TT program 126 to send notes summarizing the troubleshooting session to the solutions GUI 500 and to close the session.

If, back at operation 738, a determination is made that the answer to the question “Does customer have a valid IP address?” is yes, then the routine 700 proceeds to operation 744, where the troubleshooting methodology 128 instructs the TT program 126 to display the troubleshooting question “Can customer ping/surf into modem?”. When an answer to the question is received, the TT program 126 accesses the troubleshooting methodology 128 to determine how to proceed. From operation 744, the routine 700 proceeds to operation 746, where a determination is made whether the received answer to the question is yes. If the received answer is no, then the routine 700 proceeds to operation 740, where the troubleshooting methodology 128 instructs the TT program 126 to provide a solution to the problem. The routine 700 then proceeds to operation 742, where the troubleshooting methodology 128 further instructs the TT program 126 to send notes summarizing the troubleshooting session to the solutions GUI 500 and to close the session.

If, back at operation 746, a determination is made that the answer to the question “Can customer ping/surf into modem?” is yes, then the routine 700 proceeds to operation 748, where the troubleshooting methodology 128 instructs the TT program 126 to contact the STAC 138 and enable the Sync No Surf button 414 and the Port Reset button 416 on the information and testing GUI 400. At operation 750, a determination is made whether the Sync No Surf button 414 was selected. If so, then the routine 700 proceeds to operation 756, where the troubleshooting methodology 128 instructs the TT program 126 to send a request to the repair system 140 to perform a Sync No Surf trouble flow on the communication system 146 at issue to further identify and resolve the problem associated with the system. From operation 756, the routine 700 proceeds to operation 742, where the troubleshooting methodology 128 further instructs the TT program 126 to send notes summarizing the troubleshooting session to the solutions GI 500 and to close the session.

If, back at operation 750, a determination is made that the Port Reset button 416 was selected, then the routine 700 proceeds to operation 752, where the troubleshooting methodology 128 instructs the TT program 126 to send a request to the repair system 140 to reset one or more ports associated with the communication system 146 at issue. From operation 752, the routine 700 proceeds to operation 754, where a determination is made whether resetting the one or more ports cleared the problem with the communication system 146. If a determination is made that the port resetting did not clear the problem, then the routine 700 proceeds to operation 756, where the troubleshooting methodology 128 instructs the TT program 126 to send a request to the repair system 140 to perform a Sync No Surf trouble flow on the communication system 146 at issue to further identify and resolve the problem associated with the system. From operation 756, the routine 700 proceeds to operation 742, where the troubleshooting methodology 128 further instructs the TT program 126 to send notes summarizing the troubleshooting session to the solutions GUI 500 and to close the session. If, back at operation 754, a determination is made that the port resetting did clear the problem, then the routine 700 proceeds to operation 742, where the troubleshooting methodology 128 instructs the TT program 126 to send notes summarizing the troubleshooting session to the solutions GUI 500 and to close the session.

If, back at operation 732, a determination is made that the answer to the question “Is modem in sync?” is no, then the routine 700 proceeds to operation 734, where the troubleshooting methodology 128 instructs the TT program 126 to display a solution and enable the No Sync button 418 and the Port Reset button 416 on the information and testing GUI 400. From operation 732, the routine 700 proceeds to operation 758, where a determination is made whether the No Sync button 418 was selected. If so, then the routine 700 proceeds to operation 764, where the troubleshooting methodology 128 instructs the TT program 126 to send a request to the repair system 140 to perform a No Sync trouble flow on the communication system 146 at issue to further identify and resolve the problem associated with the system. From operation 764, the routine 700 proceeds to operation 766, where the troubleshooting methodology 128 further instructs the TT program 126 to send notes summarizing the troubleshooting session to the solutions GUI 500 and to close the session.

If, back at operation 758, a determination is made that the Port Reset button 416 was selected, then the routine 700 proceeds to operation 760, where the troubleshooting methodology 128 instructs the TT program 126 to send a request to the repair system 140 to reset one or more ports associated with the communication system 146 at issue. From operation 760, the routine 700 proceeds to operation 762, where a determination is made whether resetting the one or more ports cleared the problem with the communication system 146. If a determination is made that the port resetting did not clear the problem, then the routine 700 proceeds to operation 764, where the troubleshooting methodology 128 instructs the TT program 126 to send a request to the repair system 140 to perform a No Sync trouble flow on the communication system 146 at issue to further identify and resolve the problem associated with the system. From operation 764, the routine 700 proceeds to operation 766, where the troubleshooting methodology 128 further instructs the TT program 126 to send notes summarizing the troubleshooting session to the solutions GUI 500 and to close the session. If, back at operation 762, a determination is made that the port resetting did clear the problem, then the routine 700 proceeds to operation 766, where the troubleshooting methodology 128 instructs the TT program 126 to send notes summarizing the troubleshooting session to the solutions GUI 500 and to close the session.

It will be appreciated that embodiments of the present invention provide methods, systems, apparatus, and computer-readable media for troubleshooting a problem associated with a communication system. Although the invention has been described in language specific to computer structural features, methodological acts, and by computer readable media, it is to be understood that the invention defined in the appended claims is not necessarily limited to the specific structures, acts, or media described. Therefore, the specific structural features, acts, and mediums are disclosed as exemplary embodiments implementing the claimed invention.

The various embodiments described above are provided by way of illustration only and should not be construed to limit the invention. Those skilled in the art will readily recognize various modifications and changes that may be made to the present invention without following the example embodiments and applications illustrated and described herein, and without departing from the true spirit and scope of the present invention, which is set forth in the following claims. 

1. A method for assisting in troubleshooting a problem associated with a communication system, the method comprising: retrieving first information regarding the communication system; determining whether the first information indicates a probable cause of the problem associated with the communication system; if the first information indicates a probable cause of the problem, then providing a probable solution to the problem based on the probable cause; and if the first information does not indicate a probable cause of the problem, then: receiving information regarding the problem, and based on the received information regarding the problem, identifying a probable cause of the problem and a probable solution to the problem.
 2. The method of claim 1, wherein receiving information regarding the problem comprises: providing a first inquiry about the problem; receiving a response to the first inquiry; based on the response to the first inquiry, providing a second inquiry about the problem; and receiving a response to the second inquiry.
 3. The method of claim 2, further comprising based on the response to the second inquiry, initiating a test of the communication system to determine a probable cause of the problem.
 4. The method of claim 2, further comprising based on the response to the second inquiry, retrieving second information about the communication system.
 5. The method of claim 4, wherein retrieving second information about the communication system comprises: retrieving at least one of a username associated with the communication system, a password associated with the communication system, and an Internet Protocol (“IP”) address associated with the communication system; and providing results of a ping test performed on the communication system.
 6. The method of claim 1, wherein the first information regarding the communication system includes at least one of outage information associated with the communication system, status of a service request associated with the communication system, a type of the service request associated with the communication system, identification information regarding a path over which data is transported through the communication system, or customer account information associated with the communication system.
 7. The method of claim 1, wherein determining whether the first information indicates a probable cause of the problem associated with the communication system comprises: analyzing the first information against a set of business rules to determine whether to associate the first information with a pass indication, a fail indication, or a warning indication; if the first information is associated with a pass indication or a warning indication, then determining that the first information does not indicate a probable cause of the problem; and if the first information is associated with a fail indication, then determining that the first information indicates a probable cause of the problem.
 8. The method of claim 7, wherein determining that the first information indicates a probable cause of the problem comprises: determining whether the business rules provide an exception to the first information associated with the fail indication; if the business rules provide an exception to the first information associated with the fail indication, then determining that the first information does not indicate a probable cause of the problem; and if the business rules do not provide an exception to the first information associated with the fail indication, then determining that the first information does indicate a probable cause of the problem.
 9. The method of claim 1, further comprising implementing the probable solution to solve the problem associated with the communication system.
 10. A computer-readable medium having computer-executable instructions stored thereon which, when executed by a computer, cause the computer to: receive a request to troubleshoot a problem associated with a communication system; provide a first inquiry about the problem in response to the request; receive a response to the first inquiry; based on the response to the first inquiry, provide a second inquiry about the problem; receive a response to the second inquiry; based on the response to the second inquiry, determine a probable cause of the problem and a probable solution to the problem; and implement the probable solution to solve the problem associated with the communication system.
 11. The computer-readable medium of claim 10, comprising further computer-readable instructions which, when executed by the computer, cause the computer to: retrieve first information regarding the communication system prior to providing the first inquiry about the problem; determine whether the first information indicates a probable cause of the problem associated with the communication system; if the first information indicates a probable cause of the problem, then provide a probable solution to the problem based on the probable cause; and if the first information does not indicate a probable cause of the problem, then receive information regarding the problem via inquiries about the problem.
 12. The computer-readable medium of claim 11, wherein the first information regarding the communication system includes at least one of outage information associated with the communication system, status of a service request associated with the communication system, a type of the service request associated with the communication system, identification information regarding a path over which data is transported through the communication system, or customer account information associated with the communication system.
 13. The computer-readable medium of claim 11, wherein determining whether the first information indicates a probable cause of the problem associated with the communication system comprises: analyzing the first information against a set of business rules to determine whether to associate the information with a pass indication, a fail indication, or a warning indication; if the first information is associated with a pass indication or a warning indication, then determining that the first information does not indicate a probable cause of the problem; and if the first information is associated with a fail indication, then determining that the first information indicates a probable cause of the problem.
 14. The computer-readable medium of claim 13, wherein determining that the first information indicates a probable cause of the problem comprises: determining whether the business rules provide an exception to the first information associated with the fail indication; if the business rules provide an exception to the first information associated with the fail indication, then determining that the first information does not indicate a probable cause of the problem; and if the business rules do not provide an exception to the first information associated with the fail indication, then determining that the first information does indicate a probable cause of the problem.
 15. The computer-readable medium of claim 10, wherein determining a probable cause of the problem and a probable solution to the problem comprises: initiating a test of the communication system based on the response to the second inquiry; and determining the probable cause of the problem and the probable solution to the problem based on results from the test of the communication system.
 16. The computer-readable medium of claim 10, wherein determining a probable cause of the problem and a probable solution to the problem comprises: retrieving second information about the communication system based on the response to the second inquiry; and determining the probable cause of the problem and the probable solution to the problem based on the retrieved second information about the communication system.
 17. The computer-readable medium of claim 16, wherein retrieving information about the communication system comprises: retrieving at least one of a username associated with the communication system, a password associated with the communication system, and an Internet Protocol (“IP”) address associated with the communication system; and providing results of a ping test performed on the communication system.
 18. A system for assisting in troubleshooting a problem associated with a communication system, the system comprising: a memory device for storing a program for assisting in troubleshooting a problem associated with a communication system; and a processor, functionally coupled to the memory device, the processor being responsive to computer-executable instructions contained in the program and operative to: retrieve first information regarding the communication system from a first database, determine whether the first information indicates a probable cause of the problem associated with the communication system; if the first information indicates a probable cause of the problem, then provide a probable solution to the problem based on the probable cause, and if the first information does not indicate a probable cause of the problem, then: receive information regarding the problem, and based on the received information regarding the problem, identify a probable cause of the problem and a probable solution to the problem.
 19. The system of claim 18, wherein the processor is further operative to: provide a first inquiry about the problem associated with the communication system to receive information regarding the problem; receive a response to the first inquiry; determine, based on the response to the first inquiry, a second inquiry to provide; provide the second inquiry; and receive a response to the second inquiry.
 20. The system of claim 19, wherein the processor is further operative to: determine, based on the response to the second inquiry, whether to initiate a test of the communication system or to retrieve second information about the communication system; if a determination is made to initiate a test of the communication system, then send a request to a testing device to test the communication system to determine a probable cause of the problem; and if a determination is made to retrieve second information about the communication system, then send a request to a second database to retrieve the second information about the communication system. 